<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico">
<title>source\jindo.LayerPosition.js - Jindo Component - AjaxUI@NHN</title>
<link rel="stylesheet" type="text/css" href="../assets/prettify/prettify-min.css" media="screen">
<script type="text/javascript">
	var isMobile = (function() {
		var r = window.devicePixelRatio || 1;
		if (/windows phone/i.test(navigator.userAgent)) { r = 2; }
		
		var s = Math.max(screen.width / r, screen.height / r);
		
		var m = s < 1024;
		var href = m ? "api.mobile.css" : "api.css";
		document.write('<link rel="stylesheet" type="text/css" href="../assets/' + href + '" media="screen">');
		
		return m;
	})();
</script>

<script type="text/javascript" src="../assets/jindo.desktop.min.js"></script>
<script type="text/javascript" src="../assets/jindo_component.min.js"></script>
</head>
<body class="api-page">
<div id="wrap" class="api-main"><!-- 2Depth 접기 : lft_fold 추가 -->

	<div id="header">
		<h1><a href="../index.html"><span class="blind">JindoJS</span></a></h1>
		<div class="info">
			<span class="version">version 1.6.0</span>
			<span class="bar">|</span>
			<span class="help"><span class="ic_help"></span><a href="http://devcode.nhncorp.com/projects/jindo-component/issue" target="_blank">버그신고/문의</a></span>
		</div>
		<div class="menu">
			<button type="button" id="toggle_search_btn" class="btn_sch"><span class="blind">검색</span></button>
			<button type="button" id="toggle_list_btn" class="btn_snb btn_snb_on"><span class="blind">메뉴</span></button>
			<!-- [D] 클릭시 btn_sch_on,btn_snb_on 추가 -->
		</div>
	</div>

	<!-- sch_frm -->
	<div class="sch_frm hide_when_small">
		<h2 class="blind">검색</h2>
		<div class="filter">
			<input type="search" id="api-filter" placeholder="검색어를 입력하세요.">
		</div>
		<div id="search-tab" style="display:none;">
			<ul class="tabs">
			<li class="tc-tab">전체</li>
			<li class="tc-tab">키워드</li>
			<li class="tc-tab">클래스</li>
			<li class="tc-tab">메서드</li>
			<li class="tc-tab">프로퍼티</li>
			<li class="tc-tab">이벤트</li>
			</ul>
			<div class="panels">
				<ul id="api-all" class="tc-panel"></ul>
				<ul id="api-keywords" class="tc-panel"></ul>
				<ul id="api-classes" class="tc-panel"></ul>
				<ul id="api-methods" class="tc-panel"></ul>
				<ul id="api-attrs" class="tc-panel"></ul>
				<ul id="api-events" class="tc-panel"></ul>
			</div>

		</div>
	</div>
	<!-- // sch_frm -->

	<!-- container -->
	<div id="container">
		<!-- left-columns -->
		<div id="left-columns" class="sidemenu has_scrollbar">
			<h2 class="blind"><a href="../index.html"><span>APIs</span></a></h2>
<div class="snb depth1 scrollbar hide_when_small">
	<!-- [D] style="width:135px; height:384px; -->
	<div class="scrollbar-box">
		<div class="scrollbar-content">
			<div><ul>
			            <li class="">
			            	<a href="../classes/jindo.Accordion.html" class="">
			                	Accordion
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.AjaxHistory.html" class="">
			                	AjaxHistory
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.BrowseButton.html" class="">
			                	BrowseButton
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Cache.html" class="">
			                	Cache
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Calendar.html" class="">
			                	Calendar
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Canvas.html" class="">
			                	Canvas
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.CheckBox.html" class="">
			                	CheckBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.CircularRolling.html" class="">
			                	CircularRolling
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Clipboard.html" class="">
			                	Clipboard
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Component.html" class="">
			                	Component
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DataBridge.html" class="">
			                	DataBridge
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DatePicker.html" class="">
			                	DatePicker
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DefaultTextValue.html" class="">
			                	DefaultTextValue
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Dialog.html" class="">
			                	Dialog
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DragArea.html" class="">
			                	DragArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DropArea.html" class="">
			                	DropArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DynamicTree.html" class="">
			                	DynamicTree
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Effect.html" class="">
			                	Effect
								
								

							    
						        
						            <span class="flag static" title="static"><span class="blind">static</span></span>
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.FileUploader.html" class="">
			                	FileUploader
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.FloatingLayer.html" class="">
			                	FloatingLayer
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Foggy.html" class="">
			                	Foggy
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Formatter.html" class="">
			                	Formatter
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.HTMLComponent.html" class="">
			                	HTMLComponent
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.InlineTextEdit.html" class="">
			                	InlineTextEdit
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerEffect.html" class="">
			                	LayerEffect
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerManager.html" class="">
			                	LayerManager
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerPosition.html" class="">
			                	LayerPosition
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LazyLoading.html" class="">
			                	LazyLoading
								
								

							    
						        
						            <span class="flag static" title="static"><span class="blind">static</span></span>
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ModalDialog.html" class="">
			                	ModalDialog
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.MouseGesture.html" class="">
			                	MouseGesture
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.MultipleAjaxRequest.html" class="">
			                	MultipleAjaxRequest
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.NumberFormatter.html" class="">
			                	NumberFormatter
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.NumericStepper.html" class="">
			                	NumericStepper
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Pagination.html" class="">
			                	Pagination
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Rolling.html" class="">
			                	Rolling
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RollingChart.html" class="">
			                	RollingChart
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RolloverArea.html" class="">
			                	RolloverArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RolloverClick.html" class="">
			                	RolloverClick
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ScrollBar.html" class="">
			                	ScrollBar
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ScrollBox.html" class="">
			                	ScrollBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.SelectArea.html" class="">
			                	SelectArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.SelectBox.html" class="">
			                	SelectBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Slider.html" class="">
			                	Slider
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.StarRating.html" class="">
			                	StarRating
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.TabControl.html" class="">
			                	TabControl
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.TextRange.html" class="">
			                	TextRange
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Timer.html" class="">
			                	Timer
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Transition.html" class="">
			                	Transition
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Tree.html" class="">
			                	Tree
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.UIComponent.html" class="">
			                	UIComponent
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.UploadQueue.html" class="">
			                	UploadQueue
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.WatchInput.html" class="">
			                	WatchInput
								
								

							    
						        
			            	</a>
			            </li>
			        </ul></div>
		</div>
	</div>
	<div class="scrollbar-v">
		<div class="scrollbar-button-up"></div>
		<div class="scrollbar-track">
			<div class="scrollbar-thumb" style="top: 0px; height: 222px; "></div>
		</div>
		<div class="scrollbar-button-down"></div>
	</div>
</div>


<button type="button" title="펼치기" class="btn_open">바로가기 열기<span class="ic"></span></button>
<button type="button" title="접기" class="btn_close">바로가기 닫기<span class="ic"></span></button>

		</div>
		<!-- // left-columns -->

		<!-- main content -->
		<div id="main">
			<div class="main_fix">
				<div class="content">
	
	<h1 class="blind">source/jindo.LayerPosition.js</h1>
	<div class="tc-panel first">
		<dl class="relation">
			<dt>파일명</dt>
			<dd>jindo.LayerPosition.js</dd>
			<dt>경로</dt>
			<dd>source/</dd>
		</dl>
		<div id="file" class="file">
		    <pre class="code prettyprint linenums">/**
	@fileOverview&nbsp;특정&nbsp;엘리먼트로부터&nbsp;상대적인&nbsp;레이어의&nbsp;위치를&nbsp;구한다.&nbsp;
	@author&nbsp;senxation
	@version&nbsp;#__VERSION__#
**/

/**
	레이어를&nbsp;지정된&nbsp;엘리먼트에&nbsp;상대적으로&nbsp;위치시켜주는&nbsp;컴포넌트
	
	@class&nbsp;jindo.LayerPosition
	@extends&nbsp;jindo.Component

	@remark
		위치를&nbsp;설정할&nbsp;레이어&nbsp;엘리먼트는&nbsp;document.body의&nbsp;바로&nbsp;아래에&nbsp;존재해야야&nbsp;한다.
		그렇지&nbsp;않을&nbsp;경우&nbsp;강제로&nbsp;document.body로&nbsp;이동된다.
	
	@keyword&nbsp;layer,&nbsp;position,&nbsp;레이어,&nbsp;위치
**/
jindo.LayerPosition&nbsp;=&nbsp;jindo.$Class({
	/**&nbsp;@lends&nbsp;jindo.LayerPosition.prototype&nbsp;*/

	/**
		컴포넌트를&nbsp;생성한다.
		@constructor&nbsp;&nbsp;
		@param&nbsp;{HTMLElement}&nbsp;el&nbsp;기준이&nbsp;되는&nbsp;엘리먼트,&nbsp;document.body도&nbsp;가능하다
		@param&nbsp;{HTMLElement}&nbsp;elLayer&nbsp;위치를&nbsp;설정할&nbsp;레이어&nbsp;엘리먼트
		@param&nbsp;{Object}&nbsp;[htOption]&nbsp;옵션&nbsp;객체
			@param&nbsp;{String}&nbsp;[htOption.sPosition=&quot;outside-bottom&quot;]&nbsp;레이어를&nbsp;띄울&nbsp;위치를&nbsp;설정,&nbsp;총&nbsp;17가지&nbsp;위치&nbsp;설정&nbsp;가능.
			&lt;ul&gt;
			&lt;li&gt;&quot;outside-top-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-top&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-top-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-bottom-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-bottom&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-bottom-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;outside-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-top-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-top&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-top-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-bottom-right&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-bottom&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-bottom-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;inside-center&quot;&lt;/li&gt;
			&lt;/ul&gt;
			@param&nbsp;{String}&nbsp;[htOption.sAlign=&quot;left&quot;]&nbsp;레이어의&nbsp;위치가&nbsp;top/bottom일&nbsp;때&nbsp;좌우&nbsp;정렬&nbsp;값.
			&lt;ul&gt;
			&lt;li&gt;&quot;left&quot;&lt;/li&gt;
			&lt;li&gt;&quot;center&quot;&lt;/li&gt;
			&lt;li&gt;&quot;middle&quot;&lt;/li&gt;
			&lt;/ul&gt;
			@param&nbsp;{String}&nbsp;[htOption.sValign=&quot;&quot;]&nbsp;레이어의&nbsp;위치가&nbsp;left/right일&nbsp;때&nbsp;상하&nbsp;정렬&nbsp;값.
			&lt;ul&gt;
			&lt;li&gt;&quot;top&quot;&lt;/li&gt;
			&lt;li&gt;&quot;middle&quot;&lt;/li&gt;
			&lt;li&gt;&quot;bottom&quot;&lt;/li&gt;
			&lt;/ul&gt;
			@param&nbsp;{Number}&nbsp;[htOption.nTop=0]&nbsp;기준&nbsp;레이어와의&nbsp;y좌표&nbsp;차이
			@param&nbsp;{Number}&nbsp;[htOption.nLeft=0]&nbsp;기준&nbsp;레이어와의&nbsp;x좌표&nbsp;차이
			@param&nbsp;{Boolean}&nbsp;[htOption.bAuto=false]&nbsp;자동&nbsp;정렬&nbsp;여부.&nbsp;스크롤과&nbsp;브라우저창의&nbsp;크기가&nbsp;변경되거나&nbsp;스크롤될&nbsp;때&nbsp;레이어&nbsp;위치를&nbsp;다시&nbsp;조정한다.
		@example
			var&nbsp;oLayerPosition&nbsp;=&nbsp;new&nbsp;jindo.LayerPosition(jindo.$(&quot;center&quot;),&nbsp;jindo.$(&quot;layer26&quot;),&nbsp;{&nbsp;
				sPosition:&nbsp;&quot;outside-bottom&quot;,&nbsp;//레이어를&nbsp;띄울&nbsp;위치.&nbsp;총&nbsp;17가지의&nbsp;위치를&nbsp;가질&nbsp;수&nbsp;있다.
				sAlign:&nbsp;&quot;left&quot;,&nbsp;//레이어의&nbsp;위치가&nbsp;top/bottom일&nbsp;때&nbsp;좌우&nbsp;정렬&nbsp;값&nbsp;&quot;left&quot;&nbsp;||&nbsp;&quot;center&quot;&nbsp;||&nbsp;&quot;middle&quot;&nbsp;
				sValign:&nbsp;&quot;&quot;,&nbsp;//레이어의&nbsp;위치가&nbsp;left/right일&nbsp;때&nbsp;상하&nbsp;정렬&nbsp;값&nbsp;&quot;top&quot;&nbsp;||&nbsp;&quot;middle&quot;&nbsp;||&nbsp;&quot;bottom&quot;
				nTop:&nbsp;0,&nbsp;//기준&nbsp;레이어와의&nbsp;y좌표의&nbsp;차이
				nLeft:&nbsp;0,&nbsp;//기준&nbsp;레이어와의&nbsp;x좌표의&nbsp;차이
				bAuto:&nbsp;false&nbsp;//자동정렬&nbsp;여부.&nbsp;스크롤과&nbsp;브라우저창의&nbsp;크기가&nbsp;변경될&nbsp;때&nbsp;레이어&nbsp;위치를&nbsp;다시&nbsp;조정한다.
			}).attach({
				beforeAdjust&nbsp;:&nbsp;function(oCustomEvent){
					//bAuto&nbsp;옵션에&nbsp;의해&nbsp;자동으로&nbsp;위치가&nbsp;조정되기&nbsp;전에&nbsp;발생
					//이벤트&nbsp;객체&nbsp;oCustomEvent&nbsp;=&nbsp;{
					//	elLayer&nbsp;:&nbsp;{HTMLElement}&nbsp;레이어&nbsp;엘리먼트
					//	htCurrentPosition&nbsp;:&nbsp;{HashTable}&nbsp;현재&nbsp;위치
					//	htAdjustedPosition&nbsp;:&nbsp;{HashTable}&nbsp;이동될&nbsp;위치
					//}
					//oCustomEvent.stop();&nbsp;수행시&nbsp;조정되지&nbsp;않음
				},
				adjust&nbsp;:&nbsp;function(oCustomEvent){
					//bAuto&nbsp;옵션에&nbsp;의해&nbsp;자동으로&nbsp;위치가&nbsp;조정된&nbsp;이후에&nbsp;발생
					//이벤트&nbsp;객체&nbsp;oCustomEvent&nbsp;=&nbsp;{
					//	elLayer&nbsp;:&nbsp;{HTMLElement}&nbsp;레이어&nbsp;엘리먼트
					//	htCurrentPosition&nbsp;:&nbsp;{HashTable}&nbsp;조정된&nbsp;현재&nbsp;위치
					//}
				}
			});
		@example
			htOption.sPosition&nbsp;=&nbsp;&quot;outside-top-left&quot;&nbsp;||&nbsp;&quot;outside-top&quot;&nbsp;||&nbsp;&quot;outside-top-right&quot;&nbsp;||&nbsp;&quot;outside-right&quot;&nbsp;||&nbsp;&quot;outside-bottom-right&quot;&nbsp;||&nbsp;&quot;outside-bottom&quot;&nbsp;||&nbsp;&quot;outside-bottom-left&quot;&nbsp;||&nbsp;&quot;outside-left&quot;&nbsp;||&nbsp;&quot;inside-top-left&quot;&nbsp;||&nbsp;&quot;inside-top&quot;&nbsp;||&nbsp;&quot;inside-top-right&quot;&nbsp;||&nbsp;&quot;inside-right&quot;&nbsp;||&nbsp;&quot;inside-bottom-right&quot;&nbsp;||&nbsp;&quot;inside-bottom&quot;&nbsp;||&nbsp;&quot;inside-bottom-left&quot;&nbsp;||&nbsp;&quot;inside-left&quot;&nbsp;||&nbsp;&quot;inside-center&quot;
	**/
	$init:&nbsp;function(el,&nbsp;elLayer,&nbsp;htOption){
		this.option({
			sPosition:&nbsp;&quot;outside-bottom&quot;,
			sAlign:&nbsp;&quot;left&quot;,
			sValign:&nbsp;&quot;&quot;,
			nTop:&nbsp;0,
			nLeft:&nbsp;0,
			bAuto:&nbsp;false
		});
		this.option(htOption&nbsp;||&nbsp;{});
		this.setElement(el);
		if&nbsp;(elLayer)&nbsp;{
			this.setLayer(elLayer);
		}
		if&nbsp;(el&nbsp;&amp;&amp;&nbsp;elLayer)&nbsp;{
			this.setPosition();	
		}
		
		this._wfSetPosition&nbsp;=&nbsp;jindo.$Fn(function(){
			var&nbsp;el&nbsp;=&nbsp;this._elLayer;
			if&nbsp;(el&nbsp;&amp;&amp;&nbsp;this._welLayer.visible()){
				/**
					bAuto&nbsp;옵션&nbsp;값이&nbsp;true일&nbsp;때&nbsp;자동으로&nbsp;위치가&nbsp;조정되기&nbsp;전&nbsp;발생
					
					@event&nbsp;beforeAdjust
					@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
					@param&nbsp;{HTMLElement}&nbsp;elLayer&nbsp;레이어&nbsp;엘리먼트
					@param&nbsp;{Object}&nbsp;htCurrentPosition&nbsp;현재&nbsp;위치
						@param&nbsp;{Number}&nbsp;htCurrentPosition.nTop&nbsp;가로&nbsp;위치
						@param&nbsp;{Number}&nbsp;htCurrentPosition.nLeft&nbsp;세로&nbsp;위치
					@param&nbsp;{Object}&nbsp;htAdjustedPosition&nbsp;이동될&nbsp;위치
						@param&nbsp;{Number}&nbsp;htAdjustedPosition.nTop&nbsp;가로&nbsp;위치
						@param&nbsp;{Number}&nbsp;htAdjustedPosition.nLeft&nbsp;세로&nbsp;위치
					@example
						//&nbsp;beforeAdjust&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
						oLayerPosition.attach(&quot;beforeAdjust&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
					@example
						//&nbsp;레이어&nbsp;위치&nbsp;조정되지&nbsp;않도록&nbsp;처리
						oLayerPosition.attach(&quot;beforeAdjust&quot;,&nbsp;function(oCustomEvent)&nbsp;{
							oCustomEvent.stop();
						});
				**/
				if&nbsp;(this.fireEvent(&quot;beforeAdjust&quot;,&nbsp;{
						elLayer&nbsp;:&nbsp;el,
						htCurrentPosition&nbsp;:&nbsp;this.getCurrentPosition(),
						htAdjustedPosition&nbsp;:&nbsp;this._adjustPosition(this.getCurrentPosition())
					}))&nbsp;{
					this.setPosition();
					/**
						bAuto&nbsp;옵션&nbsp;값이&nbsp;true일&nbsp;때&nbsp;자동으로&nbsp;위치가&nbsp;조정된&nbsp;이후에&nbsp;발생
						
						@event&nbsp;adjust
						@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
						@param&nbsp;{HTMLElement}&nbsp;elLayer&nbsp;레이어&nbsp;엘리먼트
						@param&nbsp;{Object}&nbsp;htCurrentPosition&nbsp;조정된&nbsp;현재&nbsp;위치
							@param&nbsp;{Number}&nbsp;htCurrentPosition.nTop&nbsp;가로&nbsp;위치
							@param&nbsp;{Number}&nbsp;htCurrentPosition.nLeft&nbsp;세로&nbsp;위치
						@example
							//&nbsp;adjust&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
							oLayerPosition.attach(&quot;adjust&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
					**/
					this.fireEvent(&quot;adjust&quot;,&nbsp;{
						elLayer&nbsp;:&nbsp;el,
						htCurrentPosition&nbsp;:&nbsp;this.getCurrentPosition()
					});
				}
			}
		},&nbsp;this);
		
		if&nbsp;(this.option(&quot;bAuto&quot;))&nbsp;{
			this._wfSetPosition.attach(window,&nbsp;&quot;scroll&quot;).attach(window,&nbsp;&quot;resize&quot;);
		}
	},
	
	/**
		기준&nbsp;엘리먼트를&nbsp;구한다.
		
		@method&nbsp;getElement
		@return&nbsp;{HTMLElement}
	**/
	getElement&nbsp;:&nbsp;function()&nbsp;{
		return&nbsp;this._el;
	},
	
	/**
		기준&nbsp;엘리먼트를&nbsp;설정한다.
		
		@method&nbsp;setElement
		@param&nbsp;el&nbsp;{HTMLElement}
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	setElement&nbsp;:&nbsp;function(el)&nbsp;{
		this._wel&nbsp;=&nbsp;this._el&nbsp;=&nbsp;jindo.$(el);
		if&nbsp;(this._el)&nbsp;{
			this._wel&nbsp;=&nbsp;jindo.$Element(el);
		}
		
		return&nbsp;this;
	},
	
	/**
		레이어&nbsp;엘리먼트를&nbsp;구한다.
		
		@method&nbsp;getLayer
		@return&nbsp;{HTMLElement}
	**/
	getLayer&nbsp;:&nbsp;function()&nbsp;{
		return&nbsp;this._elLayer;
	},
	
	/**
		레이어&nbsp;엘리먼트를&nbsp;설정한다.&nbsp;설정된&nbsp;엘리먼트는&nbsp;document.body에&nbsp;append된다.
		
		@method&nbsp;setLayer
		@param&nbsp;elLayer&nbsp;{HTMLElement&nbsp;||&nbsp;String}&nbsp;레이어엘리먼트&nbsp;또는&nbsp;엘리먼트의&nbsp;id
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	setLayer&nbsp;:&nbsp;function(elLayer)&nbsp;{
		this._elLayer&nbsp;=&nbsp;jindo.$(elLayer);
		this._welLayer&nbsp;=&nbsp;jindo.$Element(elLayer);
		if&nbsp;(this._elLayer.parentNode&nbsp;!=&nbsp;document.body)&nbsp;{
			document.body.insertBefore(this._elLayer,&nbsp;document.body.firstChild);
		}
		return&nbsp;this;
	},
	
	_isPosition&nbsp;:&nbsp;function(htOption,&nbsp;sWord)&nbsp;{
		if&nbsp;(htOption.sPosition.indexOf(sWord)&nbsp;&gt;&nbsp;-1)&nbsp;{
			return&nbsp;true;
		}
		return&nbsp;false;
	},
	
	_setLeftRight&nbsp;:&nbsp;function&nbsp;(htOption,&nbsp;htPosition){
		var&nbsp;el&nbsp;=&nbsp;this.getElement(),
			elLayer&nbsp;=&nbsp;this.getLayer(),
			nWidth&nbsp;=&nbsp;el.offsetWidth,
			nLayerWidth&nbsp;=&nbsp;elLayer.offsetWidth;
			
		if&nbsp;(el&nbsp;==&nbsp;document.body)&nbsp;{
			nWidth&nbsp;=&nbsp;jindo.$Document().clientSize().width;
		}
		
		var&nbsp;bLeft&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;left&quot;),
			bRight&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;right&quot;),
			bInside&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;inside&quot;);
		
		
		if&nbsp;(bLeft)&nbsp;{
			if&nbsp;(bInside)&nbsp;{
				htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;
			}&nbsp;else&nbsp;{
				htPosition.nLeft&nbsp;-=&nbsp;nLayerWidth;
				htPosition.nLeft&nbsp;-=&nbsp;htOption.nLeft;					
			}
		}&nbsp;else&nbsp;if&nbsp;(bRight)&nbsp;{
			htPosition.nLeft&nbsp;+=&nbsp;nWidth;
			if&nbsp;(bInside)&nbsp;{
				htPosition.nLeft&nbsp;-=&nbsp;nLayerWidth;
				htPosition.nLeft&nbsp;-=&nbsp;htOption.nLeft;
			}&nbsp;else&nbsp;{
				htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;
			}
		}&nbsp;else&nbsp;{
			if&nbsp;(htOption.sAlign&nbsp;==&nbsp;&quot;left&quot;)&nbsp;{
				htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;	
			}
			
			if&nbsp;(htOption.sAlign&nbsp;==&nbsp;&quot;center&quot;)&nbsp;{
				htPosition.nLeft&nbsp;+=&nbsp;(nWidth&nbsp;-&nbsp;nLayerWidth)&nbsp;/&nbsp;2;
			}
				
			if&nbsp;(htOption.sAlign&nbsp;==&nbsp;&quot;right&quot;)&nbsp;{
				htPosition.nLeft&nbsp;+=&nbsp;nWidth&nbsp;-&nbsp;nLayerWidth;
				htPosition.nLeft&nbsp;-=&nbsp;htOption.nLeft;	
			}
		}
		return&nbsp;htPosition;
	},
	
	_setVerticalAlign&nbsp;:&nbsp;function&nbsp;(htOption,&nbsp;htPosition)&nbsp;{
		var&nbsp;el&nbsp;=&nbsp;this.getElement(),
			elLayer&nbsp;=&nbsp;this.getLayer(),
			nHeight&nbsp;=&nbsp;el.offsetHeight,
			nLayerHeight&nbsp;=&nbsp;elLayer.offsetHeight;
			
		if&nbsp;(el&nbsp;==&nbsp;document.body)&nbsp;{
			nHeight&nbsp;=&nbsp;jindo.$Document().clientSize().height;
		}
		
		switch&nbsp;(htOption.sValign)&nbsp;{
			case&nbsp;&quot;top&quot;&nbsp;:
				htPosition.nTop&nbsp;+=&nbsp;htOption.nTop;	
			break;
			case&nbsp;&quot;middle&quot;&nbsp;:
				htPosition.nTop&nbsp;+=&nbsp;(nHeight&nbsp;-&nbsp;nLayerHeight)&nbsp;/&nbsp;2;
			break;
			case&nbsp;&quot;bottom&quot;&nbsp;:
				htPosition.nTop&nbsp;+=&nbsp;nHeight&nbsp;-&nbsp;nLayerHeight&nbsp;-&nbsp;htOption.nTop;
			break;
		}
		
		return&nbsp;htPosition;
	},
	
	_adjustScrollPosition&nbsp;:&nbsp;function(htPosition)&nbsp;{
		/*&nbsp;기준&nbsp;엘리먼트가&nbsp;body인&nbsp;경우&nbsp;scroll&nbsp;포지션에&nbsp;따른&nbsp;보정&nbsp;*/
		if&nbsp;(this.getElement()&nbsp;==&nbsp;document.body)&nbsp;{
			var&nbsp;htScrollPosition&nbsp;=&nbsp;jindo.$Document().scrollPosition();
			htPosition.nTop&nbsp;+=&nbsp;htScrollPosition.top;	
			htPosition.nLeft&nbsp;+=&nbsp;htScrollPosition.left;
		}
		return&nbsp;htPosition;
	},
	
	/**
		옵션에&nbsp;해당하는&nbsp;레이어의&nbsp;위치를&nbsp;구한다.
		
		@method&nbsp;getPosition
		@param&nbsp;{Object}&nbsp;[htOption]&nbsp;옵션
		@return&nbsp;{Object}&nbsp;htPosition
		@example
			oLayerPosition.getPosition({
				sPosition:&nbsp;&quot;outside-bottom&quot;,
				sAlign:&nbsp;&quot;left&quot;,
				sValign:&nbsp;&quot;&quot;,
				nTop:&nbsp;10,&nbsp;//지정되지&nbsp;않으면&nbsp;0으로&nbsp;설정된다.
				nLeft:&nbsp;10&nbsp;//지정되지&nbsp;않으면&nbsp;0으로&nbsp;설정된다.
			});&nbsp;
			
			(return&nbsp;value)&nbsp;htPosition&nbsp;=&nbsp;{
				nTop&nbsp;:&nbsp;(Number)&nbsp;문서상의&nbsp;y좌표
				nLeft&nbsp;:&nbsp;(Number)&nbsp;문서상의&nbsp;x좌표
			}&nbsp;
	**/
	getPosition&nbsp;:&nbsp;function(htOption)&nbsp;{
		if&nbsp;(typeof&nbsp;htOption&nbsp;!=&nbsp;&quot;object&quot;)&nbsp;{
			htOption&nbsp;=&nbsp;this.option();
		}&nbsp;
		if&nbsp;(typeof&nbsp;htOption.nTop&nbsp;==&nbsp;&quot;undefined&quot;)&nbsp;{
			htOption.nTop&nbsp;=&nbsp;0;
		}
		if&nbsp;(typeof&nbsp;htOption.nLeft&nbsp;==&nbsp;&quot;undefined&quot;)&nbsp;{
			htOption.nLeft&nbsp;=&nbsp;0;
		}
		
		var&nbsp;sArea,
			bCenter&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;center&quot;),
			bInside&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;inside&quot;),
			
			bTop&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;top&quot;),
			bBottom&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;bottom&quot;),
			bLeft&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;left&quot;),
			bRight&nbsp;=&nbsp;this._isPosition(htOption,&nbsp;&quot;right&quot;);
		
		if&nbsp;(bLeft)&nbsp;{
			sArea&nbsp;=&nbsp;&quot;left&quot;;
		}
		if&nbsp;(bRight)&nbsp;{
			sArea&nbsp;=&nbsp;&quot;right&quot;;
		}
		if&nbsp;(bTop)&nbsp;{
			sArea&nbsp;=&nbsp;&quot;top&quot;;
		}
		if&nbsp;(bBottom)&nbsp;{
			sArea&nbsp;=&nbsp;&quot;bottom&quot;;
		}
		if&nbsp;(bCenter){
			sArea&nbsp;=&nbsp;&quot;center&quot;;
		}
		
		var&nbsp;el&nbsp;=&nbsp;this.getElement(),
			wel&nbsp;=&nbsp;jindo.$Element(el),
			elLayer&nbsp;=&nbsp;this.getLayer(),
			welLayer&nbsp;=&nbsp;jindo.$Element(elLayer),
			htElementPosition&nbsp;=&nbsp;wel.offset(),
			nWidth&nbsp;=&nbsp;el.offsetWidth,
			nHeight&nbsp;=&nbsp;el.offsetHeight,
			oClientSize,
			nLayerWidth&nbsp;=&nbsp;elLayer.offsetWidth,
			nLayerHeight&nbsp;=&nbsp;elLayer.offsetHeight,
			htPosition&nbsp;=&nbsp;{
				nTop:&nbsp;htElementPosition.top,
				nLeft:&nbsp;htElementPosition.left
			};
			
		if&nbsp;(el&nbsp;==&nbsp;document.body)&nbsp;{
			oClientSize&nbsp;=&nbsp;jindo.$Document().clientSize();
			nWidth&nbsp;=&nbsp;oClientSize.width;
			nHeight&nbsp;=&nbsp;oClientSize.height;
		}
		
		//Layer에&nbsp;마진이&nbsp;있는경우&nbsp;렌더링&nbsp;보정.
		nLayerWidth&nbsp;+=&nbsp;parseInt(welLayer.css(&#39;marginLeft&#39;),&nbsp;10)&nbsp;+&nbsp;parseInt(welLayer.css(&#39;marginRight&#39;),&nbsp;10)&nbsp;||&nbsp;0;
		nLayerHeight&nbsp;+=&nbsp;parseInt(welLayer.css(&#39;marginTop&#39;),&nbsp;10)&nbsp;+&nbsp;parseInt(welLayer.css(&#39;marginBottom&#39;),&nbsp;10)&nbsp;||&nbsp;0;
		
		switch&nbsp;(sArea)&nbsp;{
			case&nbsp;&quot;center&quot;&nbsp;:
				htPosition.nTop&nbsp;+=&nbsp;(nHeight&nbsp;-&nbsp;nLayerHeight)&nbsp;/&nbsp;2;
				htPosition.nTop&nbsp;+=&nbsp;htOption.nTop;
				htPosition.nLeft&nbsp;+=&nbsp;(nWidth&nbsp;-&nbsp;nLayerWidth)&nbsp;/&nbsp;2;
				htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;
			break;
			case&nbsp;&quot;top&quot;&nbsp;:
				if&nbsp;(bInside)&nbsp;{
					htPosition.nTop&nbsp;+=&nbsp;htOption.nTop;	
				}&nbsp;else&nbsp;{
					htPosition.nTop&nbsp;-=&nbsp;htOption.nTop&nbsp;+&nbsp;nLayerHeight;
				}
				htPosition&nbsp;=&nbsp;this._setLeftRight(htOption,&nbsp;htPosition);
			break;
			case&nbsp;&quot;bottom&quot;&nbsp;:
				htPosition.nTop&nbsp;+=&nbsp;nHeight;
				if&nbsp;(bInside)&nbsp;{
					htPosition.nTop&nbsp;-=&nbsp;htOption.nTop&nbsp;+&nbsp;nLayerHeight;
				}&nbsp;else&nbsp;{
					htPosition.nTop&nbsp;+=&nbsp;htOption.nTop;
				}
				htPosition&nbsp;=&nbsp;this._setLeftRight(htOption,&nbsp;htPosition);
			break;
			case&nbsp;&quot;left&quot;&nbsp;:
				if&nbsp;(bInside)&nbsp;{
					htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;
				}&nbsp;else&nbsp;{
					htPosition.nLeft&nbsp;-=&nbsp;htOption.nLeft&nbsp;+&nbsp;nLayerWidth;
				}
				htPosition&nbsp;=&nbsp;this._setVerticalAlign(htOption,&nbsp;htPosition);
			break;
			case&nbsp;&quot;right&quot;&nbsp;:
				htPosition.nLeft&nbsp;+=&nbsp;nWidth;
				if&nbsp;(bInside)&nbsp;{
					htPosition.nLeft&nbsp;-=&nbsp;htOption.nLeft&nbsp;+&nbsp;nLayerWidth;
				}&nbsp;else&nbsp;{
					htPosition.nLeft&nbsp;+=&nbsp;htOption.nLeft;
				}
				htPosition&nbsp;=&nbsp;this._setVerticalAlign(htOption,&nbsp;htPosition);
			break;
		}
		
		htPosition&nbsp;=&nbsp;this._adjustScrollPosition(htPosition);

		//[2572]IE6에서&nbsp;IFrame&nbsp;내부에&nbsp;있고,&nbsp;FrameBorder가&nbsp;있는&nbsp;경우&nbsp;2px보정
		if(jindo.$Agent().navigator().ie&nbsp;&amp;&amp;&nbsp;jindo.$Agent().navigator().version&nbsp;&lt;&nbsp;8&nbsp;&amp;&amp;&nbsp;window.external){
			try{
				var&nbsp;bHasFrameBorder&nbsp;=&nbsp;(window&nbsp;!=&nbsp;top)&nbsp;&amp;&amp;&nbsp;(window.frameElement)&nbsp;&amp;&amp;&nbsp;!window.frameElement.frameBorder;
				if(bHasFrameBorder){
					htPosition.nLeft&nbsp;-=&nbsp;2;
					htPosition.nTop&nbsp;-=&nbsp;2;
				}
			}catch(e){}
		}
		
		return&nbsp;htPosition;
	},
	
	/**
		레이어를&nbsp;지정된&nbsp;옵션에&nbsp;맞게&nbsp;위치시킨다.
		
		@method&nbsp;setPosition
		@param&nbsp;{Object}&nbsp;[htPosition]&nbsp;위치에&nbsp;대한&nbsp;객체&nbsp;(생략시,&nbsp;설정된&nbsp;옵션에&nbsp;따라&nbsp;자동으로&nbsp;계산된다)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
		@remark&nbsp;css의&nbsp;top,&nbsp;left&nbsp;속성으로&nbsp;위치를&nbsp;설정한다.&nbsp;
		@example
			oLayerPosition.setPosition({&nbsp;nTop&nbsp;:&nbsp;100,&nbsp;nLeft&nbsp;:&nbsp;100&nbsp;});
	**/
	setPosition&nbsp;:&nbsp;function(htPosition){
		var&nbsp;welLayer&nbsp;=&nbsp;jindo.$Element(this.getLayer()),
			bVisible&nbsp;=&nbsp;welLayer.visible();&nbsp;
		
		if&nbsp;(!bVisible)&nbsp;{
			welLayer.show();
		}
		welLayer.css(&quot;left&quot;,&nbsp;&quot;-9999px&quot;).css(&quot;top&quot;,&nbsp;&quot;0px&quot;);
		
		if&nbsp;(typeof&nbsp;htPosition&nbsp;==&nbsp;&quot;undefined&quot;)&nbsp;{
			htPosition&nbsp;=&nbsp;this.getPosition();
		}
		if&nbsp;(this.option(&quot;bAuto&quot;))&nbsp;{
			htPosition&nbsp;=&nbsp;this._adjustPosition(htPosition);
		}
		welLayer.css(&quot;left&quot;,&nbsp;htPosition.nLeft&nbsp;+&nbsp;&quot;px&quot;).css(&quot;top&quot;,&nbsp;htPosition.nTop&nbsp;+&nbsp;&quot;px&quot;);&nbsp;//offset으로&nbsp;설정할경우&nbsp;간혹&nbsp;수치가&nbsp;맞지&nbsp;않음
		
		if&nbsp;(!bVisible)&nbsp;{
			welLayer.hide();
		}
		return&nbsp;this;
	},
	
	/**
		현재&nbsp;레이어의&nbsp;위치를&nbsp;구한다.
		
		@method&nbsp;getCurrentPosition
		@return&nbsp;{Object}
		@remark&nbsp;설정된&nbsp;css의&nbsp;top,&nbsp;left&nbsp;속성&nbsp;값을&nbsp;숫자&nbsp;값으로&nbsp;리턴한다.
		@example
			(return&nbsp;value)&nbsp;htPosition&nbsp;=&nbsp;{
				nTop&nbsp;:&nbsp;(Number)&nbsp;문서상의&nbsp;y좌표
				nLeft&nbsp;:&nbsp;(Number)&nbsp;문서상의&nbsp;x좌표
			}&nbsp;
	**/
	getCurrentPosition&nbsp;:&nbsp;function()&nbsp;{
		var&nbsp;welLayer&nbsp;=&nbsp;jindo.$Element(this.getLayer());
			
		return&nbsp;{
			nTop&nbsp;:&nbsp;parseInt(welLayer.css(&quot;top&quot;),&nbsp;10),
			nLeft&nbsp;:&nbsp;parseInt(welLayer.css(&quot;left&quot;),&nbsp;10)
		};
	},
	
	/**
		레이어&nbsp;전체가&nbsp;화면에&nbsp;보이는지&nbsp;여부를&nbsp;가져온다.
		@param&nbsp;{Object}&nbsp;htPosition
		@return&nbsp;{Boolean}
		@ignore
	**/
	_isFullyVisible&nbsp;:&nbsp;function(htPosition){
		var&nbsp;elLayer&nbsp;=&nbsp;this.getLayer(),
			welLayer&nbsp;=&nbsp;jindo.$Element(elLayer),
			oScrollPosition&nbsp;=&nbsp;jindo.$Document().scrollPosition(),
			nScrollTop&nbsp;=&nbsp;oScrollPosition.top,&nbsp;	//top
			nScrollLeft&nbsp;=&nbsp;oScrollPosition.left,	//left
			oClientSize&nbsp;=&nbsp;jindo.$Document().clientSize(),
			nLayerWidth&nbsp;=&nbsp;elLayer.offsetWidth&nbsp;+&nbsp;(parseInt(welLayer.css(&#39;marginLeft&#39;),&nbsp;10)&nbsp;+&nbsp;parseInt(welLayer.css(&#39;marginRight&#39;),&nbsp;10)&nbsp;||&nbsp;0),
			nLayerHeight&nbsp;=&nbsp;elLayer.offsetHeight&nbsp;+&nbsp;(parseInt(welLayer.css(&#39;marginTop&#39;),&nbsp;10)&nbsp;+&nbsp;parseInt(welLayer.css(&#39;marginBottom&#39;),&nbsp;10)&nbsp;||&nbsp;0);
		
		if&nbsp;(htPosition.nLeft&nbsp;&gt;=&nbsp;0&nbsp;&amp;&amp;&nbsp;
			htPosition.nTop&nbsp;&gt;=&nbsp;0&nbsp;&amp;&amp;&nbsp;
			oClientSize.width&nbsp;&gt;=&nbsp;htPosition.nLeft&nbsp;-&nbsp;nScrollLeft&nbsp;+&nbsp;nLayerWidth&nbsp;&amp;&amp;&nbsp;
			oClientSize.height&nbsp;&gt;=&nbsp;htPosition.nTop&nbsp;-&nbsp;nScrollTop&nbsp;+&nbsp;nLayerHeight)&nbsp;{
			return&nbsp;true;
		}
		return&nbsp;false;
	},
	
	/**
		가로방향으로&nbsp;반전되어&nbsp;배치되도록&nbsp;변환된&nbsp;옵션&nbsp;객체를&nbsp;가져온다.
		@param&nbsp;{Object}&nbsp;htOption
		@return&nbsp;{Object}&nbsp;htOption
		@ignore
	**/
	_mirrorHorizontal&nbsp;:&nbsp;function(htOption)&nbsp;{
		if&nbsp;(htOption.sAlign&nbsp;==&nbsp;&quot;center&quot;&nbsp;||&nbsp;htOption.sPosition&nbsp;==&nbsp;&quot;inside-center&quot;)&nbsp;{
			return&nbsp;htOption;
		}
		
		var&nbsp;htConvertedOption&nbsp;=&nbsp;{};
		for&nbsp;(var&nbsp;i&nbsp;in&nbsp;htOption)&nbsp;{
			htConvertedOption[i]&nbsp;=&nbsp;htOption[i];
		}
		
		if&nbsp;(this._isPosition(htConvertedOption,&nbsp;&quot;right&quot;))&nbsp;{
			htConvertedOption.sPosition&nbsp;=&nbsp;htConvertedOption.sPosition.replace(/right/,&nbsp;&quot;left&quot;);
		}&nbsp;else&nbsp;if&nbsp;(this._isPosition(htConvertedOption,&nbsp;&quot;left&quot;))&nbsp;{
			htConvertedOption.sPosition&nbsp;=&nbsp;htConvertedOption.sPosition.replace(/left/,&nbsp;&quot;right&quot;);
		}&nbsp;else&nbsp;if&nbsp;(htConvertedOption.sAlign&nbsp;==&nbsp;&quot;right&quot;)&nbsp;{
			htConvertedOption.sAlign&nbsp;=&nbsp;&quot;left&quot;;
		}&nbsp;else&nbsp;if&nbsp;(htConvertedOption.sAlign&nbsp;==&nbsp;&quot;left&quot;)&nbsp;{
			htConvertedOption.sAlign&nbsp;=&nbsp;&quot;right&quot;;
		}
		
		return&nbsp;htConvertedOption;
	},
	
	/**
		세로방향으로&nbsp;반전되어&nbsp;배치되도록&nbsp;변환된&nbsp;옵션&nbsp;객체를&nbsp;가져온다.
		@param&nbsp;{Object}&nbsp;htOption
		@return&nbsp;{Object}&nbsp;htOption
		@ignore
	**/
	_mirrorVertical&nbsp;:&nbsp;function(htOption)&nbsp;{
		if&nbsp;(htOption.sValign&nbsp;==&nbsp;&quot;middle&quot;&nbsp;||&nbsp;htOption.sPosition&nbsp;==&nbsp;&quot;inside-center&quot;)&nbsp;{
			return&nbsp;htOption;
		}
		
		var&nbsp;htConvertedOption&nbsp;=&nbsp;{};
		for&nbsp;(var&nbsp;i&nbsp;in&nbsp;htOption)&nbsp;{
			htConvertedOption[i]&nbsp;=&nbsp;htOption[i];
		}
		
		if&nbsp;(this._isPosition(htConvertedOption,&nbsp;&quot;top&quot;))&nbsp;{
			htConvertedOption.sPosition&nbsp;=&nbsp;htConvertedOption.sPosition.replace(/top/,&nbsp;&quot;bottom&quot;);
		}&nbsp;else&nbsp;if&nbsp;(this._isPosition(htConvertedOption,&nbsp;&quot;bottom&quot;))&nbsp;{
			htConvertedOption.sPosition&nbsp;=&nbsp;htConvertedOption.sPosition.replace(/bottom/,&nbsp;&quot;top&quot;);
		}&nbsp;else&nbsp;if&nbsp;(htConvertedOption.sValign&nbsp;==&nbsp;&quot;top&quot;)&nbsp;{
			htConvertedOption.sValign&nbsp;=&nbsp;&quot;bottom&quot;;
		}&nbsp;else&nbsp;if&nbsp;(htConvertedOption.sValign&nbsp;==&nbsp;&quot;bottom&quot;)&nbsp;{
			htConvertedOption.sValign&nbsp;=&nbsp;&quot;top&quot;;
		}
		
		return&nbsp;htConvertedOption;
	},
	
	/**
		레이어가&nbsp;항상&nbsp;보이도록&nbsp;위치를&nbsp;자동&nbsp;조절한다.
		우선순위는&nbsp;가로&nbsp;반전,&nbsp;세로반전,&nbsp;가로세로반전&nbsp;순이다.
		모든&nbsp;경우에도&nbsp;레이어&nbsp;전체가&nbsp;보이지&nbsp;않을&nbsp;경우&nbsp;원위치시킨다.
		@param&nbsp;{Object}&nbsp;htPosition
		@return&nbsp;{Object}&nbsp;htOption
		@ignore
	**/
	_adjustPosition:&nbsp;function(htPosition){
		var&nbsp;htOption&nbsp;=&nbsp;this.option(),
			aCandidatePosition&nbsp;=&nbsp;[];
		
		aCandidatePosition.push(htPosition);
		aCandidatePosition.push(this.getPosition(this._mirrorHorizontal(htOption)));
		aCandidatePosition.push(this.getPosition(this._mirrorVertical(htOption)));
		aCandidatePosition.push(this.getPosition(this._mirrorVertical(this._mirrorHorizontal(htOption))));
		
		for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;htCandidatePosition;&nbsp;(htCandidatePosition&nbsp;=&nbsp;aCandidatePosition[i]);&nbsp;i++)&nbsp;{
			if&nbsp;(this._isFullyVisible(htCandidatePosition))&nbsp;{
				htPosition&nbsp;=&nbsp;htCandidatePosition;
				break;
			}
		}
		return&nbsp;htPosition;
	}
}).extend(jindo.Component);</pre>
		</div>
	</div>
</div>

			</div>
		</div>
		<!-- // main content -->

	</div>
	<!-- // container -->

	<!-- footer -->
	<div id="footer">
		<p>Copyright ©<a href="http://nhncorp.com/" target="_blank">NHN Corp.</a> Platform Ajax Team. All Rights Reserved.</p>
	</div>
	<!-- // footer -->

</div>
<!-- // wrap -->

<style type="text/css">

	.item {
		transition:background .2s linear;
		-webkit-transition:background .2s linear;
		-moz-transition:background .2s linear;
		-o-transition:background .2s linear;
		-ms-transition:background .2s linear;
	}
	
	.highlight {
		background-color:#ffffd8 !important;
	}
	
	li.selected a.highlight {
		background-color:#aa8 !important;
	}
	
	.hide-deprecated .deprecated-item, .hide-inherited .inherited-item, .private {
		display:none;
	}
	
	.scrollbar-v, .scrollbar-h { display:none; }
	.scrollbar-show { display:block; }
	
	.api-page .tbl_fold .more_history { display:none; }
	
	/* FILE */
	.file pre.code {
		border:1px solid #ccc;
		padding:0;
	}
	
	.file ol {
		padding-left: 4em;
		background-color: #f9f9f9;
	}

	.file ol li {
		list-style: decimal;
		border-left:1px solid #ccc;
		padding:2px 4px;
	}
	
	.file li.L1, .file li.L3, .file li.L5, .file li.L7, .file li.L9 {
		background-color: #f9f9f9;	
	}

	.file li.L0, .file li.L2, .file li.L4, .file li.L6, .file li.L8 { 
		background-color: #f0f0f0;
	}
	
</style>
<script type="text/javascript" src="../assets/prettify/prettify-min.js"></script>
<script type="text/javascript" src="../assets/hash.js"></script>
<script type="text/javascript" src="../assets/api-list.js"></script>
<script type="text/javascript" src="../assets/api-search.js"></script>
<script type="text/javascript" src="../assets/../api.js?callback=APISearch.setData"></script>
<script type="text/javascript">
	var projectRoot = "../";
	var projectAssets = "../assets";
	
    apiDocs(projectAssets);	
</script>
</body>
</html>